package com.gxc.dynamic;

import java.util.Scanner;

/**
 * 一天一只顽猴想去从山脚爬到山顶，途中经过一个有个N个台阶的阶梯，但是这猴子有一个习惯：
 *
 * 每一次只能跳1步或跳3步，试问猴子通过这个阶梯有多少种不同的跳跃方式？
 *
 * 输入描述
 * 输入只有一个整数N（0<N<=50）此阶梯有多少个台阶。
 *
 * 输出描述
 * 输出有多少种跳跃方式（解决方案数）。
 */
public class Monkey {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n =scanner.nextInt();

        int[] dp = new int[n+1];
        dp[0] = 1;
        for (int i = 1; i <= n; i++) {
            dp[i] += dp[i-1] + (i>2?dp[i-3]:0);
        }

        System.out.println(dp[n]);
    }
}
